<?php
/**
 * 全局路由配置文件
 * 路由规范化完成标记 - 已按照ROUTE_STANDARDIZATION_PLAN.md统一为/api前缀路由
 */

// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 引入各模块路由文件
require __DIR__ . '/app.php';
require __DIR__ . '/oa.php';
require __DIR__ . '/customer.php';
require __DIR__ . '/contract.php';
require __DIR__ . '/lawcase.php';
require __DIR__ . '/user.php';
require __DIR__ . '/home.php';
require __DIR__ . '/disk.php';
require __DIR__ . '/lawyer.php';
require __DIR__ . '/data_permission.php';
require __DIR__ . '/system.php';
require __DIR__ . '/note.php';
require __DIR__ . '/crm.php';
require __DIR__ . '/workorder.php';

/**
 * 全局路由配置
 */

use think\facade\Route;

// 首页路由
Route::get('/', 'Index/index');

// 认证相关路由 (统一使用api/auth前缀，与前端匹配)
Route::group('api/auth', function () {
    Route::post('login', 'home.Login/login_submit');         // 用户登录
    Route::post('logout', 'home.Login/login_out');           // 用户登出
    Route::get('userInfo', 'home.Index/index');              // 获取用户信息
    Route::post('refresh', 'home.Login/login_submit');       // 刷新token (使用登录方法)
});

// 管理相关路由 (api前缀)
Route::group('api', function () {
    // 合同模块
    Route::group('/contract', function () {
        // 合同控制器路由
        Route::get('contract/list', 'contract.Contract/list');          // 查看合同列表
        Route::get('contract/datalist', 'contract.Contract/list');      // 查看合同列表（兼容前端API调用）
        Route::get('contract/view', 'contract.Contract/view');          // 查看单个合同
        Route::post('contract/add', 'contract.Contract/add');           // 新建合同
        Route::put('contract/edit', 'contract.Contract/edit');          // 编辑合同
        Route::delete('contract/del', 'contract.Contract/del');         // 删除合同（软删除）
        Route::get('contract/archive_list', 'contract.Contract/archive_list'); // 归档合同列表
        Route::get('contract/stop_list', 'contract.Contract/stop_list'); // 中止合同列表
        Route::get('contract/void_list', 'contract.Contract/void_list'); // 作废合同列表
        Route::post('contract/archive', 'contract.Contract/archive');   // 合同归档
        Route::post('contract/stop', 'contract.Contract/stop');         // 合同中止
        Route::post('contract/void', 'contract.Contract/void');         // 合同作废
        Route::get('contract/get_sign_users', 'contract.Contract/get_sign_users'); // 获取签约人列表（用于远程搜索）
        
        // 合同分类路由
        Route::get('cate/list', 'contract.Cate/list');              // 查看合同分类列表
        Route::get('cate/view', 'contract.Cate/view');              // 查看单个合同分类
        Route::post('cate/add', 'contract.Cate/add');               // 新建合同分类
        Route::put('cate/edit', 'contract.Cate/edit');              // 编辑合同分类
        Route::delete('cate/del', 'contract.Cate/del');             // 删除合同分类（软删除）
        Route::get('cate/set', 'contract.Cate/set');                // 设置合同分类（获取启用的分类列表）
    });
    
    // 系统模块
    Route::group('/system', function () {
        // 地区相关路由
        Route::get('region', 'system.Region/index');          // 获取地区列表
    });
    

    
    // 用户模块
    Route::group('/user', function () {
        // 员工相关路由
        Route::get('user/admin_list', 'user.User/getAdminList');  // 获取法务部门员工列表（管家）
        
        // 用户管理路由
        Route::get('user/index', 'user.User/index');            // 查看员工信息列表
        Route::get('user/view', 'user.User/view');              // 查看单个员工信息
        Route::get('user/options', 'user.User/options');        // 获取员工选项（用于下拉选择）
        Route::get('user/search', 'user.User/search');          // 搜索员工（用于远程搜索）
        Route::post('user/add', 'user.User/add');               // 新建员工
        Route::put('user/edit', 'user.User/edit');              // 编辑员工
        Route::post('user/set', 'user.User/set');               // 设置用户状态
        Route::delete('user/delete', 'user.User/delete');       // 删除员工
        Route::post('user/reset_password', 'user.User/reset_psw'); // 重设员工密码
        
        // 部门管理路由
        Route::get('department/index', 'user.Department/index');      // 获取部门列表
        Route::get('department/show', 'user.Department/show');        // 查看单个部门
        Route::get('department/options', 'user.Department/options');  // 获取部门选项（用于下拉选择）
        Route::post('department/store', 'user.Department/store');     // 新建部门
        Route::put('department/update', 'user.Department/update');    // 编辑部门
        Route::delete('department/destroy', 'user.Department/destroy'); // 删除部门
        
        // 岗位职称路由
        Route::get('position/index', 'user.Position/index');        // 查看岗位职称列表
        Route::get('position/show', 'user.Position/show');          // 查看单个岗位
        Route::get('position/options', 'user.Position/options');    // 获取岗位选项（用于下拉选择）
        Route::post('position/store', 'user.Position/store');       // 新建岗位职称
        Route::put('position/update', 'user.Position/update');      // 编辑岗位职称
        Route::delete('position/destroy', 'user.Position/destroy'); // 删除岗位职称
    });
    
});

// 测试路由
Route::get('/test', 'Test/index');
Route::post('/test/login', 'Test/login');

// 文件直接下载路由 - 无需令牌验证
Route::get('/file/download/:id', 'FileDownload/download');

// 全局路由文件规范化完成标记
// ROUTE_STANDARDIZATION_DONE: route.php - 所有全局路由配置已统一使用/api前缀